race condition

为了避免race condition,一般有以下几种思路

1.local free programming

2.transaction with STM(software transactional memory)

3.mutex

most basic mechanism for protecting shared data provided by C++ Stanard
mutex